The inventive concept relates to a self-adaptive system, and more particularly relates to a variability modeling method for a role-based architecture in an ontology-based self-adaptive system.
As environments and industries are rapidly changed, software is required to cope with the corresponding change by changing its behavior under execution. However, an engineer has difficulty in designing a system while predicting all contexts that the system will face, and hence there is required an ability where software decides a context for itself and performs adaptation on the context. Accordingly, demands on self-adaptive software as software which recognizes an environment changed under execution and performs adaptation on the environment for itself are increased.
Many methodologies have been proposed to develop the self-adaptive software. In a method of developing a self-adaptive system by using a role, the role is not an actual entity but a virtual entity. The role provides flexibility in system configuration, and assists software elements to be loosely coupled, thereby assisting the behavior and configuration of the software to be changed under execution. In a role-oriented adaptive design (ROAD) methodology, a decision masking process performed in an adaptation process is not specifically presented, and therefore, an organizer role performs adaptation on a context while performing the adaptation process defined by the engineer. However, the self-adaptive system using a role concept has no guideline on how to design the adaptation process to be performed by the organizer role and through which order and process the system is to perform adaptation. Therefore, it is difficult to design the adaptation process.
The inventive concept is directed to a variability modeling method including two kinds of feature models for enabling a self-adaptive system using a role-based architecture to consider a larger number of variabilities in a self-adaptation process and a metal model for assisting a configuration between the models.
Also, the inventive concept is directed to an ontology-based self-adaptive system which can search for an appropriate solution in various and complex contexts by using the variability modeling method.